import {userDelete} from "@/api/user"
import {useCreateModal} from "@/hooks"
import EditModal from './edit-modal.vue'
import PWModal from './pw-modal.vue'

export const columns = [ // 进程策略
    {
        title: '账号',
        dataIndex: 'account',
    },
    {
        title: '姓名',
        dataIndex: 'username',
    },
    // {
    //     title: '用户类型',
    //     dataIndex: 'roleid',
    //     slots: {
    //         customRender: 'roleid'
    //     },
    //     slotsType: 'format',
    //     slotsFunc: (val) => ({
    //         0: 'TCP',
    //         1: 'UDP',
    //         2: 'TCP,UDP'
    //     }[val])
    // },
    {
        title: '电话',
        dataIndex: 'tel',
    },
    {
        title: 'E-Mail',
        dataIndex: 'email',
    },
    {
        title: '操作',
        dataIndex: 'action',
        width: 280,
        slots: {
            customRender: 'action'
        },
        actions: [
            {
                type: 'popconfirm', // 控制类型，默认为a,可选： select | button | text
                key: 'fileid', // 删除的依据，如果需要根据多个字段删除，则字段之间以英文逗号分隔开，例如： id, name
                text: '删除',
                permission: 'user:delete',
                props: {
                  type: 'danger'
                },
                func: async ({record, props}, callback) => {
                    await userDelete({ids: [record.userid], type: props.pageOption.typeId})
                    callback()
                },
            },
            {
                type: 'button', // 控制类型，默认为a,可选： select | button | text
                key: 'fileid', // 删除的依据，如果需要根据多个字段删除，则字段之间以英文逗号分隔开，例如： id, name
                text: '编辑',
                permission: 'user:update',
                props: {
                    type: 'warning'
                },
                func: ({record}, callback) => {
                    record.roleids ??= []
                    record.password = ''
                    return useCreateModal(EditModal, {
                        fields: record,
                        callback
                    })
                },
            },
            {
                type: 'button', // 控制类型，默认为a,可选： select | button | text
                key: 'fileid', // 删除的依据，如果需要根据多个字段删除，则字段之间以英文逗号分隔开，例如： id, name
                text: '修改密码',
                permission: 'user:update',
                props: {
                    type: 'warning'
                },
                func: ({record}, callback) => {
                    record.roleids ??= []
                    record.password = ''
                    return useCreateModal(PWModal, {
                        fields: record,
                        callback
                    })
                },
            }
        ]
    },
]
